// pages/home/home.js
import { getChannels ,getArticles } from '../../api/user.js'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        channels:[],
        text:"下拉即可刷新...",
        active:0,
        refresher:false,
        channelId:0,
        articleList:[],
        preTimestamp:null

    },
    // 跳转到搜索页
    goSearch(){
        wx.navigateTo({
            url:'/pages/search/search'
        })
    },
    // 选中频道id
    handleChannelId(e){
        this.setData({
            channelId:e.detail.name
        })
        this.getArticleList()
    },
    // 获取频道列表
    async getList(){
        const res = await getChannels()
        this.setData({
            channels:res.data.channels
        })
        this.selectComponent('#tabs').resize()
    },
    // 改变下拉刷新文字
    onPulling(e){
        if(e.detail.dy>45){
            this.setData({
                text:'释放即可刷新...'
            })
        }else{
            this.setData({
                text:'下拉即可刷新'
            })
        }
        
    },
    // 触发刷新
    async bindrefresherrefresh(){
        try {
            this.setData({
            text:'加载中'
        })
        await this.getArticleList()
        setTimeout(()=>{
            this.setData({
                text:'加载成功',
            })
        },500)
        } catch (error) {
            this.setData({
            text:'请求失败，点击重新加载'
        })
        }
        setTimeout(()=>{
            this.setData({
                refresher:false
            })
        },500)
    },
    // 初始化新闻文章
    async getArticleList(){
        try {
            const res  = await getArticles({
            channel_id:this.data.channelId,
            timestamp:+new Date(),
            with_top:0
        })
        this.setData({
            articleList:res.data.results,
            preTimestamp:res.data.pre_timestamp
        })
        } catch (error) {
            this.setData({
            text:'刷新失败，重新加载'
        })
        }
    },
    // 下拉加载新闻文章列表
    async addArticleList(){ 
        try {
            const res  = await getArticles({
            channel_id:this.data.channelId,
            timestamp:this.data.preTimestamp,
            with_top:0
        })
        this.setData({
            articleList:[...this.data.articleList,...res.data.results],
            preTimestamp:res.data.pre_timestamp
        })
        } catch (error) {
           wx.showLoading({
            title:'请求超时' ,
        })
        }
    },
    // 跳转文章详情页
    goDetailPage(e){
        const id = e.currentTarget.id
        wx.navigateTo({url:`/pages/artDetail/artDetail?id=${id}`})
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log(1);
        this.getList()
        this.getArticleList()
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
        
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})